﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace CPPaquetes.BusinessEntities.Integration
{
    [DataContract]
    public class Quotation
    {
        private int quotationID;
        [DataMember]
        public int QuotationID
        {
            get { return quotationID; }
            set { quotationID = value; }
        }

        private int businessID;
        [DataMember]
        public int BusinessID
        {
            get { return businessID; }
            set { businessID = value; }
        }

        private int salesManegerID;
        [DataMember]
        public int SalesManegerID
        {
            get { return salesManegerID; }
            set { salesManegerID = value; }
        }

        private int clientID;
        [DataMember]
        public int ClientID
        {
            get { return clientID; }
            set { clientID = value; }
        }

        private Client client;
        [DataMember]
        public Client Client
        {
            get { return client; }
            set { client = value; }
        }

        private string nombreCompletoCliente;
        [DataMember]
        public string NombreCompletoCliente
        {
            get { return nombreCompletoCliente; }
            set { nombreCompletoCliente = value; }
        }

        private decimal priceCLP;
        [DataMember]
        public decimal PriceCLP
        {
            get { return priceCLP; }
            set { priceCLP = value; }
        }

        private decimal priceUSD;
        [DataMember]
        public decimal PriceUSD
        {
            get { return priceUSD; }
            set { priceUSD = value; }
        }

        private int statusID;
        [DataMember]
        public int StatusID
        {
            get { return statusID; }
            set { statusID = value; }
        }


        private EnumStatus status;
        [DataMember]
        public EnumStatus Status
        {
            get { return status; }
            set { status = value; }
        }


        private string destination;
        [DataMember]
        public string Destination
        {
            get { return destination; }
            set { destination = value; }
        }

        private string comments;
        [DataMember]
        public string Comments
        {
            get { return comments; }
            set { comments = value; }
        }

        private DateTime outboundDate;
        [DataMember]
        public DateTime OutboundDate
        {
            get { return outboundDate; }
            set { outboundDate = value; }
        }

        private DateTime returnDate;
        [DataMember]
        public DateTime ReturnDate
        {
            get { return returnDate; }
            set { returnDate = value; }
        }

        private DateTime quotationDate;
        [DataMember]
        public DateTime QuotationDate
        {
            get { return quotationDate; }
            set { quotationDate = value; }
        }

        private int quotationType;
        [DataMember]
        public int QuotationType
        {
            get { return quotationType; }
            set { quotationType = value; }
        }

        private int quantityAdult;
        [DataMember]
        public int QuantityAdult
        {
            get { return quantityAdult; }
            set { quantityAdult = value; }
        }

        private int quantityChildren;
        [DataMember]
        public int QuantityChildren
        {
            get { return quantityChildren; }
            set { quantityChildren = value; }
        }

        private int quantityInfant;
        [DataMember]
        public int QuantityInfant
        {
            get { return quantityInfant; }
            set { quantityInfant = value; }
        }

        private string quotationService;
        [DataMember]
        public string QuotationService
        {
            get { return quotationService; }
            set { quotationService = value; }
        }

        private string destinationCountry;
        [DataMember]
        public string DestinationCountry
        {
            get { return destinationCountry; }
            set { destinationCountry = value; }
        }

        private SalesManager salesManager;
        [DataMember]
        public SalesManager SalesManager
        {
            get { return salesManager; }
            set { salesManager = value; }
        }

        private string nombreCompletoEjecutivo;
        [DataMember]
        public string NombreCompletoEjecutivo
        {
            get { return nombreCompletoEjecutivo; }
            set { nombreCompletoEjecutivo = value; }
        }

        private DateTime departureDate;
        [DataMember]
        public DateTime DepartureDate
        {
            get { return departureDate; }
            set { departureDate = value; }
        }

        private DateTime arrivalDate;
        [DataMember]
        public DateTime ArrivalDate
        {
            get { return arrivalDate; }
            set { arrivalDate = value; }
        }

        private string hotel;
        [DataMember]
        public string Hotel
        {
            get { return hotel; }
            set { hotel = value; }
        }

        private string quotationFileName;
        [DataMember]
        public string QuotationFileName
        {
            get { return quotationFileName; }
            set { quotationFileName = value; }
        }

        public int TotalPassenger
        {
            get { return quantityAdult + quantityChildren + quantityInfant; }
        }

        private TypeStatusQuotation _StatusBusiness;
        [DataMember]
        public TypeStatusQuotation StatusBusiness
        {
            get { return this._StatusBusiness; }
            set { this._StatusBusiness = value; }
        }

        private int _StatusBusinessID;
        [DataMember]
        public int StatusBusinessID
        {
            get { return this._StatusBusinessID; }
            set { this._StatusBusinessID = value; }
        }

        private long processIDCreate;
        [DataMember]
        public long ProcessIDCreate
        {
            get { return processIDCreate; }
            set { processIDCreate = value; }
        }

        private long processIDAssigned;
        [DataMember]
        public long ProcessIDAssigned
        {
            get { return processIDAssigned; }
            set { processIDAssigned = value; }
        }

        private DateTime creationDate;
        [DataMember]
        public DateTime CreationDate
        {
            get { return creationDate; }
            set { creationDate = value; }
        }

        private long numFolio;
        [DataMember]
        public long NumFolio
        {
            get { return numFolio; }
            set { numFolio = value; }
        }

        private int rejectReasonID;
        [DataMember]
        public int RejectReasonID
        {
            get { return rejectReasonID; }
            set { rejectReasonID = value; }
        }

    }
}
